/**
 */
package com.dingpeikeji.quickdeer.core.modules.realsche.entity;

import java.util.Date;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.dingpeikeji.quickdeer.core.common.persistence.DataEntity;
import com.dingpeikeji.quickdeer.core.modules.orders.entity.TOrders;
import com.dingpeikeji.quickdeer.core.modules.sys.entity.Office;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 实际班次Entity
 * @author Zhaoy
 * @version 2016-06-12
 */
public class TRealscheVehi extends DataEntity<TRealscheVehi> {
	
	private static final long serialVersionUID = 1L;
	// 发车状态的取值
	public static final String VEHISTATUS_NOT_GO = "1"; // 已预定
	public static final String VEHISTATUS_GO = "2"; // 已发车
	public static final String VEHISTATUS_SURE = "3"; // 已确认
	public static final String VEHISTATUS_LOCK = "4"; // 已锁定
	
	// schekind的取值
	public static final String SCHEKIND_REALSCHE = "1"; // 实际班次车
	public static final String SCHEKIND_RENTPRODUCT = "2"; // 实际整车
	
	private String realvehiid;		// realvehiid
	private String realscheid;		// realscheid
	private Office office;		// office_id
	private Integer busid;		// busid
	private Integer cargotypeid;		// cargotypeid
	private String licno;		// licno
	private String brandname;		// brandname
	private String vehiclename;		// vehiclename
	private String seats;		// seats
	private String maindriver;		// maindriver
	private String vicedriver;		// vicedriver
	private Date departtime;		// departtime
	private String duringdays;		// duringdays
	private String selloutseats;		// selloutseats
	private String lockedseats;		// lockedseats
	private String schekind;		// schekind
	private String vehistatus;		// vehistatus
	private Date realdepart;		// realdepart
	private String drvssysid;		// drvssysid
	private String outtime;		// 实际超时长时间
	private String timescale;		// 时长收费标准
	private String outtimefee;		// 超时长*收费标准
	private String outkms;		// 实际超公里数
	private String kmscale;		// 每公里收费标准
	private String outkmsfee;		// 超公里费
	private String restdays;		// 住宿天数（晚）
	private String restfeescale;		// 住宿费标准
	private String restfee;		// 住宿费标准*天数
	private String dietdays;		// 餐饮天数
	private String dietfeescale;		// 餐饮费标准
	private String dietfee;		// 餐饮费标准*天数
	private String emptykms;		// 空驶距离
	private String emptyscale;		// 空驶费标准
	private String emptyfee;		// 空驶费标准*空驶距离
	private String thirdfee;		// 第三方收费
	private String totaladdfee;		// 第三方收费+空驶费+餐饮费+住宿费+超公里收费+超时长收费
	private String drvconfirmed;		// drvconfirmed
	private Date completetime; // 完单时间
	private Date createDateQueryStart;
	private Date createDateQueryEnd;
	private String busname;
	
	private TOrders orders; // 订单信息
	
	
	public String getBusname() {
		return busname;
	}

	public void setBusname(String busname) {
		this.busname = busname;
	}

	public Date getCreateDateQueryStart() {
		return createDateQueryStart;
	}

	public void setCreateDateQueryStart(Date createDateQueryStart) {
		this.createDateQueryStart = createDateQueryStart;
	}

	public Date getCreateDateQueryEnd() {
		return createDateQueryEnd;
	}

	public void setCreateDateQueryEnd(Date createDateQueryEnd) {
		this.createDateQueryEnd = createDateQueryEnd;
	}

	public TRealscheVehi() {
		super();
	}

	public TRealscheVehi(String id){
		super(id);
	}

	@NotNull(message="realvehiid不能为空")
	public String getRealvehiid() {
		return realvehiid;
	}

	public void setRealvehiid(String realvehiid) {
		this.realvehiid = realvehiid;
	}
	
	@NotNull(message="realscheid不能为空")
	public String getRealscheid() {
		return realscheid;
	}

	public void setRealscheid(String realscheid) {
		this.realscheid = realscheid;
	}
	
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}

	public TOrders getOrders() {
		return orders;
	}

	public void setOrders(TOrders orders) {
		this.orders = orders;
	}

	public Integer getBusid() {
		return busid;
	}

	public void setBusid(Integer busid) {
		this.busid = busid;
	}
	
	public Integer getCargotypeid() {
		return cargotypeid;
	}

	public void setCargotypeid(Integer cargotypeid) {
		this.cargotypeid = cargotypeid;
	}
	
	@Length(min=0, max=20, message="licno长度必须介于 0 和 20 之间")
	public String getLicno() {
		return licno;
	}

	public void setLicno(String licno) {
		this.licno = licno;
	}
	
	@Length(min=0, max=50, message="brandname长度必须介于 0 和 50 之间")
	public String getBrandname() {
		return brandname;
	}

	public void setBrandname(String brandname) {
		this.brandname = brandname;
	}
	
	@Length(min=1, max=200, message="vehiclename长度必须介于 1 和 200 之间")
	public String getVehiclename() {
		return vehiclename;
	}

	public void setVehiclename(String vehiclename) {
		this.vehiclename = vehiclename;
	}
	
	@NotNull(message="seats不能为空")
	public String getSeats() {
		return seats;
	}

	public void setSeats(String seats) {
		this.seats = seats;
	}
	
	@NotNull(message="maindriver不能为空")
	public String getMaindriver() {
		return maindriver;
	}

	public void setMaindriver(String maindriver) {
		this.maindriver = maindriver;
	}
	
	public String getVicedriver() {
		return vicedriver;
	}

	public void setVicedriver(String vicedriver) {
		this.vicedriver = vicedriver;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getDeparttime() {
		return departtime;
	}

	public void setDeparttime(Date departtime) {
		this.departtime = departtime;
	}
	
	public String getDuringdays() {
		return duringdays;
	}

	public void setDuringdays(String duringdays) {
		this.duringdays = duringdays;
	}
	
	public String getSelloutseats() {
		return selloutseats;
	}

	public void setSelloutseats(String selloutseats) {
		this.selloutseats = selloutseats;
	}
	
	public String getLockedseats() {
		return lockedseats;
	}

	public void setLockedseats(String lockedseats) {
		this.lockedseats = lockedseats;
	}
	
	@Length(min=1, max=1, message="schekind长度必须介于 1 和 1 之间")
	public String getSchekind() {
		return schekind;
	}

	public void setSchekind(String schekind) {
		this.schekind = schekind;
	}
	
	@Length(min=1, max=1, message="vehistatus长度必须介于 1 和 1 之间")
	public String getVehistatus() {
		return vehistatus;
	}

	public void setVehistatus(String vehistatus) {
		this.vehistatus = vehistatus;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getRealdepart() {
		return realdepart;
	}

	public void setRealdepart(Date realdepart) {
		this.realdepart = realdepart;
	}
	
	public String getDrvssysid() {
		return drvssysid;
	}

	public void setDrvssysid(String drvssysid) {
		this.drvssysid = drvssysid;
	}
	
	public String getOuttime() {
		return outtime;
	}

	public void setOuttime(String outtime) {
		this.outtime = outtime;
	}
	
	public String getTimescale() {
		return timescale;
	}

	public void setTimescale(String timescale) {
		this.timescale = timescale;
	}
	
	public String getOuttimefee() {
		return outtimefee;
	}

	public void setOuttimefee(String outtimefee) {
		this.outtimefee = outtimefee;
	}
	
	public String getOutkms() {
		return outkms;
	}

	public void setOutkms(String outkms) {
		this.outkms = outkms;
	}
	
	public String getKmscale() {
		return kmscale;
	}

	public void setKmscale(String kmscale) {
		this.kmscale = kmscale;
	}
	
	public String getOutkmsfee() {
		return outkmsfee;
	}

	public void setOutkmsfee(String outkmsfee) {
		this.outkmsfee = outkmsfee;
	}
	
	public String getRestdays() {
		return restdays;
	}

	public void setRestdays(String restdays) {
		this.restdays = restdays;
	}
	
	public String getRestfeescale() {
		return restfeescale;
	}

	public void setRestfeescale(String restfeescale) {
		this.restfeescale = restfeescale;
	}
	
	public String getRestfee() {
		return restfee;
	}

	public void setRestfee(String restfee) {
		this.restfee = restfee;
	}
	
	public String getDietdays() {
		return dietdays;
	}

	public void setDietdays(String dietdays) {
		this.dietdays = dietdays;
	}
	
	public String getDietfeescale() {
		return dietfeescale;
	}

	public void setDietfeescale(String dietfeescale) {
		this.dietfeescale = dietfeescale;
	}
	
	public String getDietfee() {
		return dietfee;
	}

	public void setDietfee(String dietfee) {
		this.dietfee = dietfee;
	}
	
	public String getEmptykms() {
		return emptykms;
	}

	public void setEmptykms(String emptykms) {
		this.emptykms = emptykms;
	}
	
	public String getEmptyscale() {
		return emptyscale;
	}

	public void setEmptyscale(String emptyscale) {
		this.emptyscale = emptyscale;
	}
	
	public String getEmptyfee() {
		return emptyfee;
	}

	public void setEmptyfee(String emptyfee) {
		this.emptyfee = emptyfee;
	}
	
	public String getThirdfee() {
		return thirdfee;
	}

	public void setThirdfee(String thirdfee) {
		this.thirdfee = thirdfee;
	}
	
	public String getTotaladdfee() {
		return totaladdfee;
	}

	public void setTotaladdfee(String totaladdfee) {
		this.totaladdfee = totaladdfee;
	}
	
	@Length(min=1, max=1, message="drvconfirmed长度必须介于 1 和 1 之间")
	public String getDrvconfirmed() {
		return drvconfirmed;
	}

	public void setDrvconfirmed(String drvconfirmed) {
		this.drvconfirmed = drvconfirmed;
	}

	public Date getCompletetime() {
		return completetime;
	}

	public void setCompletetime(Date completetime) {
		this.completetime = completetime;
	}
	
}
